Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Компілятор

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
ЕОМ

Інформація про роботу

Рік:
2014
Тип роботи:
Курсова робота
Предмет:
Системне програмування та операційні системи

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра ЕОМ  Курсова робота з предмету “Системне програмування” на тему: Розробка транслятора з вхідної мови програмування. Варіант № 67 Львів – 2014 Анотація В даній курсовій роботі я розробив транслятор з вхідної мови програмування. Розробка програмних модулів і компонент системного програмування є дуже актуальним завданням в наш час. Транслятор до даної курсової роботи я розробив в середовищі програмування Microsoft Visual Studio 2010. Для побудови транслятора я використав низхідний метод граматичного розбору. В пояснювальній записці подав огляд існуючих методів розробки трансляторів, детальний опис мови, а також опис процесу розробки програми транслятора. В проекті містяться результати тестування програми та вихідний текст програми транслятора. Також показано і детально описано розробку і виконання наступних фаз компіляції:лексичний аналіз;синтаксичний аналіз;генерація коду. Результатом виконання курсової роботи є повноцінна функціональна програма на мові Assembler, яка є інтерпретованою програмою реалізованої на заданій вхідній мові програмування. Зміст Завдання на курсову роботу…………………………………………… ……4 Вступ …….…. 5 1. Огляд методів та способів проектування трансляторів ... 6 1.1. Введення в компіляцію…………………………………..…. …..…6 1.2 Лексичний аналіз………………………………………...….…..….….8 1.3.Синтаксичний аналіз………………………………………..………....9 1.4. Опис розпізнавача…………………………………………………...10 2. Формальний опис вхідної мови програмування …12 2.1 Деталізований опис вхідної мови в термінах EBNF 12 2.2 Опис термінальних символів та ключових слів 14 3. Розробка транслятора вхідної мови програмування 17 3.1 Вибір технології програмування 17 3.2 Проектування таблиць транслятора та вибір структур даних 18 3.3 Розробка лексичного аналізатора 19 3.3.1 Опис лексичного аналізатора………………………..………....…19 3.3.2 Опис граф-схеми лексичного аналізатора 22 3.3.3 Опис програми реалізації лексичного аналізатора 23 3.4 Розробка синтаксичного аналізатора 24 3.4.1 Опис програми реалізації синтаксичного аналізатора 24 3.4.2 Опис граф-схеми синтаксичного аналізатора …………..………..27 3.4.3 Опис програми реалізації синт.та сим.аналіз 28 3.4.4.Розробка дерев граматичного розбору………………….………29 3.5 Розробка генератора коду 30 3.5.1 Розробка алгоритму 30 3.5.2 Опис блок-схеми реалізації генератора коду 32 3.5.3 Опис програми реалізації генератора коду 32 4. Опис інтерфейсу та інструкції користувача 33 5. Відлагодження та тестування програми 34 5.1 Виявлення лексичних помилок 34 5.2 Виявлення синтаксичних помилок 34 5.3 Виявлення семантичних помилок 35 5.4 Загальна перевірка коректності роботи транслятора 36 Висновки 38 Список літератури 38 Додаток A загальний алгоритм роботи транслятора 39 Додаток Б лістинг програми заготовки початкового коду 41 Завдання на курсову роботу 1. Цільова мова транслятора асемблер (iх86). 2. Для отримання виконавчого файлу на виході розробленого транслятора скористатися програмами ml.exe (MASM32) 3. Мова розробки транслятора: С++. 4. Реалізувати оболонку або інтерфейс з командного рядка. 5. На вхід розробленого транслятора має подаватися текстовий файл, написаний на заданій мові програмування. 6. На виході розробленого транслятора мають створюватись чотири файли: 1)файл з повідомленнями про помилки ; 2)файл на мові асемблера; 3)об’єктний файл;4)виконавчий файл.  7. Назва вхідної мови програмування утворюється від першої букви у прізвищі студента та останніх двох цифр номера його варіанту. Саме таке розширення повинні мати текстові файли, написані на цій мові програмування. Деталізований опис вхідної мови - типи даних:Long int ; - оператор вводу: input; - оператор виводу: output; - блок тіла програми: program <name>; begin var …; end - оператор: do-while - регістр ключо...
Антиботан аватар за замовчуванням

19.05.2014 23:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини